1. Field
The disclosure relates generally to a data processing system and, in particular to managing applications. Still more particularly, the present disclosure relates to a method and apparatus for managing configuration and other runtime settings of applications.
2. Description of the Related Art
Applications use settings to define preferred behaviors of the applications. These settings are typically stored as configuration information for the applications. The settings can be stored in configuration files, databases, and other types of storage. Storage of the settings is done on a wide range of storage devices. For example, an application may access settings in a configuration file on a storage device of a computer running the application. As another example, the application may also use a network between the computer running the application and a server computer to access settings at the server computer.
Settings of applications are modified by editing the configuration files. Users edit the settings in the configuration files to change some functionality of the applications. Applications also provide user interfaces to allow users easier access to the settings than manual editing of the configuration files. When an application starts up, the modified settings of the application are loaded from the application configuration file and the application then proceeds according to the modified settings. Some applications allow changes to the settings the application is currently using without having to restart the application. The settings being used by a running application are called runtime settings. When runtime settings of an application are modified, they need to be saved or they will become lost when the application restarts. The runtime settings may be saved on request, on each change, when the application is closed, and other suitable times. However, at any point in time there may be differences between runtime settings currently being used by the application and stored settings that will be used when the application is restarted.
Systems management and monitoring tools use configuration files of applications to determine if the applications are using correct or preferred settings. For example, a systems management tool may determine if an application is operating securely by evaluating security settings in a configuration file for the application. As another example, a monitoring tool may determine if an application is configured to perform optimally by evaluating performance related settings of the application. However, the locations where applications load settings can change over time with edits to configuration settings and with updates to the applications. When the locations change, the old configuration files may remain and the tools may not know which files to use. The format of the settings stored in configuration files may vary from application to application and from one version of an application to the next. When a new format is used the tools have to be updated to use the new format.
Additionally, some applications may use default values for settings not explicitly specified in configuration files. For example, a primary network used by an application may go down forcing the application to use default values for a backup network. In this example, the default values for the settings may be located in program instructions of the application rather than in settings in a configuration file. These default values may change over time with revisions to the applications and based on other factors that are not identifiable in configuration files.
Therefore, it would be desirable to have a method, apparatus, and computer program product that takes into account at least some of the issues discussed above.